# -*- coding: utf-8 -*-
# @Time    : 2023/9/19 15:13
# @Author  : chenyinhua
# @File    : repo_setting_page.py
# @Software: PyCharm
# @Desc:


# 标准库导入
# 第三方库导入
import allure
# 本地应用/模块导入
from utils.ui_utils.base_page import BasePage


class RepoSettingPage(BasePage):

    @allure.step("滚动到底部，点击【删除本仓库】按钮")
    def click_delete_repo_button(self):
        """
        滚动到底部，点击 删除本仓库 按钮
        """
        # 往下滑动
        self.execute_js(js="window.scrollTo(0, document.documentElement.scrollHeight)")
        self.click("xpath=//span[text()='删除本仓库']")

    @allure.step("删除后仓库确认提示弹窗中，点击【确定】按钮")
    def click_delete_repo_confirm_button(self):
        """
        删除后仓库确认提示弹窗中 点击确定按钮
        """
        self.is_element_visible(locator="xpath=//span[contains(text(), '该操作无法撤销')]")
        self.click("xpath=//a[text()='确定']")

    @allure.step("断言 --> 删除仓库的弹窗提示, 预期结果：该操作无法撤销！且将会一并删除相关的疑修、合并请求、工作流、里程碑、动态等数据")
    def check_delete_repo_text(self, text):
        """
        删除仓库的弹窗提示：该操作无法撤销！且将会一并删除相关的疑修、合并请求、工作流、里程碑、动态等数据
        """
        self.contain_text(locator="//div[@class='task-popup-content']", text=text)

    @allure.step("断言 --> 仓库删除成功提示, 预期结果：仓库删除成功！")
    def check_delete_success_text(self, text):
        """
        仓库删除成功，有成功提示"仓库删除成功！"
        """
        self.contain_text(locator="xpath=//div[@class='ant-notification-notice-description']", text=text)
